#if !defined(_APP_BT)
#define _APP_BT
#include "app_device.h"


typedef enum
{
    BT_BAUD_9600 = '4',
    BT_BAUD_115200 = '8',
} BTBaudRate;


/**
 * 对设备模块进行蓝牙配置
 * 1 设定设备的连接类型 BT 
 * 2 设置设备的蓝牙默认配置 包括蓝牙名称、蓝牙a网络id ，蓝牙的短地址，波特率 
 * 3 将蓝牙数据的预处理方法装配给 设备模块
 */
int app_bt_init(Device *device);

/**
 * 写前预处理
 */
int app_bt_pre_write(char *write_data,int write_data_size );

/**
 *  读后预处理
 */
int app_bt_post_read(char *read_data,int read_data_size );

/**
 * 蓝牙状态测试 AT\r\n
 * write(fd,"AT\r\n")
 */
int app_bt_status(Device *devive);


/**
 * 接收响应数据 
 * read(fd,"OK\r\n")
 */
int waitAck(Device *devive);

/**
 * 重启l蓝牙芯片
 * write(fd,"AT+RESET\r\n")
 */
int app_bt_reset(Device *devive);

/**
 * 设置蓝牙波特率
 * write(fd,"AT+BAUD?\r\n")
 */
int app_bt_set_baudrate(Device *devive,BTBaudRate baudrate);

/**
 * 设置网络广播名
 * write(fd,"AT+NAME?\r\n")
 */
int app_bt_set_name(Device *devive,char *name);

/**
 * 设置NETID
 * write(fd,"AT+NETID?\r\n")
 */
int app_bt_set_netid(Device *devive,char *netid);

/**
 * 设置短地址
   * write(fd,"AT+MADDR?\r\n")
  */
int  app_bt_set_maddr(Device *devive,char *maddr);

/**
 * 获取蓝牙默认配置信息
 */
int app_bt_default_config(Device *devive);

#endif // _APP_BT
